<HTML> 
<HEAD> 
	<TITLE>3rd Party ROBOTC Drivers</TITLE> 
<link href="tabs.css" rel="stylesheet" type="text/css"/> 
<link href="doxygen.css" rel="stylesheet" type="text/css"/> 
</HEAD> 
 
<BODY bgcolor="#ffffff" link="#000000" vlink="#000000"> 
<table width="100%" bgcolor="navy" cellspacing=0 cellpadding=1 border=0> 
<tr><td><table width="100%" bgcolor="#EEEEDD" cellspacing=0 cellpadding=3 border=0> 
<tr> 
    <td width="33%" align="left"> <img src="images/LOGO_NXT.gif" width=266 height=44 border="0" alt="Mindstorms"></td> 
    <td><b><font size="+3" color="navy">3rd Party ROBOTC Drivers</font></b></td> 
    <td align="right"> <img src="images/logo.png" width=44 height=44 border="0" alt="RobotC"></td>     
</tr> 
  <tr bgcolor="#cccc99" align="right"> 
          <td colspan=3> <font face="arial" size="-1"> [<a href=main.html>Home</a>] [<a target=_top href="https://sourceforge.net/projects/rdpartyrobotcdr/">Download</a>] [<a target=_top href="http://apps.sourceforge.net/mantisbt/rdpartyrobotcdr/my_view_page.php">Submit a bug/suggestion</a>]  [<a target=_top href="http://www.robotc.net/forums/">ROBOTC Forums</a>] [<a target=_top href="http://botbench.com">Blog</a>] [<a target=_top href="http://sourceforge.net/donate/index.php?group_id=257238">Support this project</a>]</font> </td> 
</tr> 
</table></td></tr> 
</table> 
<!-- Generated by Doxygen 1.7.2 -->
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<h1>codatech-rfid.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Codatex RFID driver.  
<a href="#_details">More...</a></p>
<code>#include &quot;<a class="el" href="common_8h_source.html">drivers/common.h</a>&quot;</code><br/>

<p><a href="codatech-rfid_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gab634c92a1bd282ec883620a4be7b29a3">CTRFID_I2C_ADDR</a>&#160;&#160;&#160;0x04</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gad8753116d11a569731ba401e1b34c190">CTRFID_FIRM_VER</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gaf2fda5adb158bef02af5c28d069dafd5">CTRFID_MAN_NAME</a>&#160;&#160;&#160;0x08</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gabc8f00f04ef4dfe7202fe52ee5d75531">CTRFID_SENS_TYP</a>&#160;&#160;&#160;0x10</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gab06796265691b744c17aac42bd1a9a80">CTRFID_STATUS</a>&#160;&#160;&#160;0x32</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gac4861a2d01f7afd3be21be52b30f40a8">CTRFID_OFFSET</a>&#160;&#160;&#160;0x41</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga161334b2008e1e0d0d956afb26c0bfce">CTRFID_CMD</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga12339aedfff1b1755f5f1e557b5072b6">CTRFID_BYTE1</a>&#160;&#160;&#160;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga92416430e016cdde4e40a4f875d4138a">CTRFID_BYTE2</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga8331563bb88d326da57718c5edcaa1c6">CTRFID_BYTE3</a>&#160;&#160;&#160;0x03</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gafc9ee3b23ffd9e2dcf9418d63bd9a77a">CTRFID_BYTE4</a>&#160;&#160;&#160;0x04</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga5b294cffa24b7beb6cc83655b23815b3">CTRFID_BYTE5</a>&#160;&#160;&#160;0x05</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga20b39a74dfcfb01e7258e5b3049b4d57">CTRFID_SERIAL</a>&#160;&#160;&#160;0xA0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gacfea4ed01050da756b6bdf7464cc4318">CTRFID_CMD_STOP</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gaa4a3e9f34b919d84ef36cefa7c345534">CTRFID_CMD_SINGLESHOT</a>&#160;&#160;&#160;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga625431bd7e73cd50321c69dccceda3c9">CTRFID_CMD_CONTINUOUS</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gabb11c97f503c52cc56832a0e0ccf7c96">CTRFID_CMD_BOOTLOADER</a>&#160;&#160;&#160;0x81</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gabb9a3293bf6c24352f9c3e71e2da4432">CTRFID_CMD_STARTAPPFIRM</a>&#160;&#160;&#160;0x83</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga581e552880308449e21d7889e5f7692a">CTRFIDinit</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga871a8f803adae08885e49a82ae69112a">CTRFIDsetContinuous</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga1a928177ab5af335a83d470fc2717051">CTRFIDsetSingleShot</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga609da9873e9e2937ae57feeae7752c6c">CTRFIDreadTransponder</a> (tSensors link, string &amp;transponderID)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gae6993ae841bbb4ca18aca6dd02a388f8">_CTRFIDsendCommand</a> (tSensors link, ubyte command)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga9e05ab0af2b3b7c76493db36d737a16c">_CTRFIDsendDummy</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga9353f929be1bbbb8270cf81748fd3252">_CTRFIDreadStatus</a> (tSensors link, ubyte &amp;_status)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga223627eca736054cb74efa2c3b78abdd">CTRFID_I2CRequest</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#ga81765b0322e65255b7c7e837f1c23f93">CTRFID_I2CReply</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gab149286e5ad210fbb1ee7b7595b99b83">CTRFIDreadContinuous</a> [4] = {false, false, false, false}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_t_r_f_i_d.html#gaca9614223081342c3b80d266e768ab9d">CTRFIDinitialised</a> [4] = {false, false, false, false}</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Codatex RFID driver. </p>
<p><a class="el" href="codatech-rfid_8h.html" title="Codatex RFID driver.">codatech-rfid.h</a> provides an API for the Codatex RFID sensor. Based on information given on <a href="http://www.codatex.com/picture/upload/en/RFID_I2C.pdf">http://www.codatex.com/picture/upload/en/RFID_I2C.pdf</a> and on Stephen Hall and Oliver Graff previous work on this sensor.</p>
<p>Changelog:</p>
<ul>
<li>0.1: Initial release</li>
<li>0.2: Partial rewrite by Xander Soldaat to simplify API</li>
<li>0.3: Uses new array typedefs instead of structs</li>
</ul>
<p>Credits:</p>
<ul>
<li>Big thanks to Xander Soldaat for giving his work on other sensors's drivers code for ROBOTC.<br/>
 (Seriously, I'd have given up without you !)</li>
<li>Thanks to Stephen Hall and Oliver Graff for their work which made me understand the initialisation need !</li>
</ul>
<p>License: You may use this code as you wish, provided you give credit where its due.</p>
<p>THIS CODE WILL ONLY WORK WITH ROBOTC VERSION 3.59 AND HIGHER.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Sylvain CACHEUX (<a href="mailto:sylcalego@cacheux.info">sylcalego@cacheux.info</a>) </dd>
<dd>
Xander Soldaat (<a href="mailto:mightor@gmail.com">mightor@gmail.com</a>), version 0.2 and up </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>20 february 2011 </dd></dl>
<dl class="version"><dt><b>Version:</b></dt><dd>0.3 </dd></dl>

<p>Definition in file <a class="el" href="codatech-rfid_8h_source.html">codatech-rfid.h</a>.</p>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Mar 13 2013 19:56:43 for ROBOTC Drivers by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
</body>
</html>
